Новости → Rails 3. Production ready?
Все говорят о Rails 3, некоторые его уже пробуют, а некоторые даже используют в production. Некоторые наши клиенты интересуются, работает ли бета этого фреймворка у нас. Не смотря на то, что нужный gem не установлен в системе, его можно поставить локально для пользователя. Зависимости также ставятся без каких-либо нареканий.
Весь процесс занял всего несколько минут ( большую часть времени ждал пока gem подумает ). Дабы не быть голословным, опишу весь процесс по шагам:
1. Создаем проект с типом «Ruby on rails», например с именем «rails3″.
2. Устанавливаем gem. Тут есть небольшая хирость: надо использовать ключ —install-dir с указанием директории установки гема. Чтобы не потерять уже установленные локально, укажем стандартный путь.
>gem install rails --pre --install-dir /home/hosting_<имя_пользователя>/.gem/ruby/1.8
3. После некоторого ожидания можно проверить, какая версия rails установлена.
>rails -v
Rails 3.0.0.beta4
4. Теперь попробуем создать простейшее рабочее приложение:
>cd ~/projects/rails3/releases
>rails new thefirst
>cd thefirst
>rails generate scaffold book name:string price:float
>RAILS_ENV=production rake db:migrate
>rm public/index.html
>nano config/routes.rb # Тут пропишем путь root :to =>; "books#index"
>cd .. ; rm current ; ln -s releases/thefirst current
>touch releases/thefirst/tmp/restart.txt # говорим passenger'у перечитать код приложения
5. Идем по ссылке http://rails3.<имя_пользователя>.locum.ru и видим знакомый всем интерфейс скаффолда.
Как видно, никаких особенных хитростей не понадобилось, все компоненты просто ставятся и работают. В четвертом шаге я описал стандартный способ разворачивания простого rails приложения на locum.ru и способ перезагрузки кода из консоли, так что, если кто-то еще не знал — знайте.
Update:
Обнаружился небольшой нюанс: bundler версии 1.0.0.beta.5 не работает (пытается использовать sudo, что, конечно, запрещено). Нужно использовать стабильную версию, сейчас это 0.9.26.
Разрабатываю новый проект на Rails3, благодарен за возможность установки Rail3.
Вот только процесс не успевает, даже с —no-ri и —no-rdoc, он «убивается».
Заканчивается выделенное вам процессорное время, напишите в саппорт, увеличат. Мне все сделали.
Нихрена не работает по этой инструкции: сервак nginx статические файлы нормально отображает, а динамику не обрабатывает вообще!
Мой путь установки простого rails 3.0.3 приложения
1. Просим саппорт установить rails 3 (в моем случае 3.0.3). В твиттере обещали до НГ добавить rails 3 в стандартные gem’ы.
2. Создаем или закачиваем свой проект.
3. Через консоль SSH устанавливаем недостающие gem’ы. Я делал просто: заходил через консоль в директорию с проектом и вводил команду: rails -v , в ответ сервер выдавал ошибку о нехватке какого-то gem’а. Тут же я его устанавливал и повторял команду rails -v, пока сервер не вывел 3.0.3 Сам rails установить так не получится, не хватит процессорного времени, на другие gem’ы хватает.
4. Настраиваем подключение к базе данных
5. В консоли SSH: RAILS_ENV=production rake db:migrate
6. Находясь в release в SSH:s: rm current ; ln -s releases/Имя_Вашего_Проекта current
6. Можно удалить все файлы из стандартного проекта и залить туда свой, тогда ссылку current трогать не надо.
7. Идем в корень проекта, находим файл gemfile и раскомментируем строку gem ‘unicorn’
8. Идем в панель управления хостинга, перезагружаем код.
9. Наслаждаемся Locum и Rails.
7 пункт решает проблему Андрея. Только сегодня сам решил её.
Подтвердите, если кому-то помогла инструкция.
Забыл добавить:
В пункте 3 gem’ы устанавливать с параметром —user-install
gem install mysql2 —user-install